|
|||||
|
|||||
|
I've recently added a small cosmos link to each footer section of this weblog's posts. It seems to be the latest fashion trend, at least among Movable Type publishers who are ready to customize their publishing templates. What about Radio Userland? Well, it doesn't seem to be possible to do it with the current (8.0.8) Radio version, unless you are ready and able to modify a small piece your Radio source code. The trick is to modify the item template (#itemTemplate.txt file) to include an HTML link tag making a call to the Technorati Cosmos service. The Cosmos Service http GET request expects a 'url' argument specifying the permalink of the post: http://www.technorati.com/cosmos/search.html?url=permalinkwhere permalink is the URI of the published item, suitably encoded to fit into the arguments component of a GET request. This is where Radio cannot currently deliver: the <%permalink%> macro referenced for use in the item template does not provide a straight or encoded URL, but an image HTML tag encapsulating the URL instead. However, if you're confident enough to modify Radio's source scripts, there's nothing preventing you from adding a new <%encodedPermalinkUrl%> macro. Template level macros are defined in the system.verbs.builtins.radio.weblog.render script. To add a new 'encodedPermalinkUrl' pseudo-macro, locate the //set permalink bundle in the code, and add a single line at the end of that bundle's content: t.encodedPermalinkUrl = string.urlEncode ( url )Compile and save the modified script. Keep in mind of course that your modification will be wiped out the next time Userland publishes an update to the radio.weblog.render script. The full HTML tag to add to the item template then looks like this: <a href="http://www.technorati.com/cosmos/search.html?url=<%encodedPermalinkUrl%>" title="technorati cosmos link" target="_blank">cosmos</a>Since this a very simple modification, let's hope the <%encodedPermalinkUrl%> macro will become part of the next Radio release. Update: If you don't feel confident enough to update your Radio source code, Matt Mower has released a Technorati Radio macro that you may download from Lilia Efimova's Mathemagenic site. According to Phil Rignalda: ... we need to not lose sight of the fact that reading in an aggregator isn't the only use for RSS.While Dave Winer argues, with maybe a trace of regret, that: ... the word syndication originally comes from the idea of including the content of a syndicated news source in another publication. But that really has fallen off. That's the "dark side" of syndication...Well, it's a fact that RSS syndicated content these days is mainly fed into news readers and aggregators. But has the publishing side turned dark forever ? I'm not sure... We may just be lacking the proper non nerdy tools to make better use of RSS in publication, and those tools may be right around the corner, considering what is already available. Here is a first example: I'm publishing in RSS format a collection of quotes, s l a m:shorts, that I gather while reading my subscribed feeds in Radio Userland's aggregator. I then auto-syndicate this content into other pages published with Radio, such as this one, by placing activeRenderer's rssbox macro into my pages' template, producing the column on the right if you are reading the HTML version of this story. For an alternate, non outlined result, I could have used Userland's xml.rss.viewRssBox macro. Since the s l a m:shorts feed is available on the Web, there's nothing preventing other like-minded publishers to do the same.
Like-minded publishers... Hmmm... I've recently seen a service published by Dave Winer at Harvard, Share Your Opml, that let me find out other bloggers sharing my interests by comparing our aggregator subscription lists. What if those like-minded publishers were doing the same thing as I am, publishing their quick links to a dedicated RSS feed ? Then, with Userland's multi-author tool, I could aggregate all these feeds into a common 'shorts' feed which would be richer than any of its single sources, and we could all syndicate it in our weblog pages, providing our readers with more interesting and varied content. What's missing right now is a single, easy to use software tool that would make the above scenario accessible to another audience than computer scientists and software engineers. Second example: let's look at the blogosphere from a distance - it's not only made of teenage girl diary entries; as a matter of fact, it's bursting with original content in all conceivable disciplines. Better yet, most of this content is available in RSS (ok maybe Atom :-) format for a while, and we have more and more sophisticated tools, from trackbacks to RSS search engines, to locate it efficiently. I would argue that weblogging is not only an author's dream, it is (or will soon become) an editor's dream. Most people associate journalism with writing. I've spent enough time in daily newspapers to know that it's only part of the job. Papers would not exist without people whose job it is to organise the available writing material, decide on sequences, hierarchy of information, association with photo or graphic material, and so on. Now suppose you're a new kind of web publisher. You're not interested in publishing an online diary: you may not have that much to say in the first place, or maybe you find the diary format boring. Anyway, after spending more and more time in your news aggregator, you've become interested in bringing several different pieces of information together, and produce an original web paper, on a more or less regular basis. The selection of textual and graphic content from the RSS pool, the page layout and styles, will convey your contribution and increase the readership of the original pieces. The only desktop tool I know which is somewhere on the path of making this vision possible, with considerable hacks, is Radio Userland, because it has most of the necessary components: a news aggregator, a publishing mechanism, and an extensible scripting environment. It is missing an advanced, edition oriented aggregator interface (I've started working on that with activeRenderer's browser) and an easy to use, CSS enabled, layout design tool (I'll work on that next). If I - and other interested parties - can make a prototype work, then we'll be on our way to creating the next generation Web publishing system, bringing the dark side of syndication back to light. I've released a couple of fixes to the way Radio handles RSS publishing to the radio-dev support group this morning. Update: Installation instructions are available in the Radio discussion forum. The first patch modifies radio.weblog.writeRssFile so that Radio shortcuts may be properly expanded in RSS feeds. For instance, a post containing my "lorem ipsum" glossary entry would properly expand in the rss.xml file:
The second patch includes 3 related parts and introduces options for formating the RSS feed's title for categories, to get rid of the current Author Name: Categorie Name format limitation. Until the time Userland publishes fixes to the main Radio distribution, you may download and open with Radio the parts linked in the radio-dev message. Surgeon General's warning: Applying patches without having at least some knowledge of the working of the Radio application (as opposed to its desktop website operation) may seriously damage your installation. Be patient. Eventually, Userland will publish bug fixes in the main distribution. caveat #1: These parts will get superceded once Userland fixes the main Radio distribution. caveat #2: If you decide to instal the RSS category title fix, you need to open and replace all 3 related parts. caveat #3: If you are running the k-collector client for Radio, the shortcuts fix to writeRSSfile won't work, since Matt has highjacked the whole RSS file driver to include ENT topics in the feed. Welcome to the enhancedAggregator tool code tour. The visit will take you to all the components of a typical Usertalk tool for Radio Userland, and will provide you with scenic views of Radio's beautiful news aggregator and its unique driver architecture. Over the past week, I've received several messages from would-be Radio tool developpers who apparently thought my guidelines for collaborating to the enhancedAggregator project were a little thin. It reminded me of my own experience, about 2 years ago, when I first tried turning activeRenderer into a full blown tool and kept pestering Simone Bettini and Andre Radke with questions. So I tried to deliver in Journey Inside a Tool the kind of information I would have liked to have readily available when I started studying Usertalk tool writing. I hope it will help anyone planning to write a Radio/Frontier tool, whether it involves the News Aggregator or not. For further discussion of the enhancedAggregator project, please follow the enhancedAggregator thread in the radio-dev support group. I've found a bug in the ENT 1.0 module driver for RSS topics included in enhancedAggregator's first release. The fix involved splitting the module handling code between the cloud script, which compiles ent:topic elements into a table inside each item of the subscribed RSS 2.0 service's compilation table, and a new storyArrived callback script, responsible for storing the compiled topics inside the aggregator's stories table, the base upon which Radio creates its desktop website News page. This appears to be the correct way to support an RSS 2.0 module in Radio, conforming to the way the main content aggregator is designed. Unfortunately, the storyArrived callback script cannot have access to the module's item level compiled elements, due to the way the xml.rss.compileService script is currently coded. I hope a fix, or an alternate way of implementing the module driver, will soon be released by Userland. Current users of the enhancedAggregator tool should update their copy, by either clicking the update link in Radio's desktop home page status center, or selecting the enhancedAggregator/update menu option in the Radio application, or simply downloading the new version. I've received a fair number of inquiries about the tool's inner working, I'll try to come up with a visitor's guide to the code over the week-end, to supplement the current guidelines. Developers who wish to publish their own updates to the enhancedAggregator project should contact me to retrieve the host address and port number of the project's webEdit server, as well as their username and password. If they haven't done so already, they can activate the webEdit client in their copy of Radio by running the enhancedAggregatorSuite.webEdit.activate script. Given the current proliferation of RSS modules, I hope the enhancedAggregator will soon become a repository of drivers, allowing Radio users to experiment with the latest trends in Web content syndication. I've recently spent some time investigating Radio's aggregator code, looking for an easy way to support additional RSS modules in general, and ENT 1.0 topics in particular. The enhancedAggregator tool is the -provisional- result of this investigation. It comes with full ENT 1.0 topics support for Radio's aggregator, and skeletons for aggregating Atom 0.3 feeds and ESF 1.0 events for RSS 2.0. I'd like the enhancedAggregator to become a community driven project, allowing Frontier/Radio developers to easily test aggregation of new syndication formats and extensions, without mobilizing Userland scarse resources. So I've added some intal/uninstal/update/prefs ancillary functions to the tool, and provided guidelines for updating the current drivers and adding new ones, with pointers to the available online documentation. I hope Matt will copy the ENT module driver and paste it into the k-collector client for Radio, and Paolo's eVector crew will build upon the ESF module driver skeleton, copying the result to their new tool when it's stable enough. |
|